home *** CD-ROM | disk | FTP | other *** search
- GNAT IMPLEMENTED FEATURES LIST
- Current as of 11/30/94
-
- Here is the list of implemented and not implemented features. A more precise
- description of the GNAT system is provided in the file 'gnatinfo.txt', which is
- part of the GNAT distribution.
-
- Latest features in GNAT version 2.0
- ===================================
-
- Tasking is now available on the IBM OS/2 version
- So tasking is now currently working on Sparc SunOS, SGI and OS/2.
-
- Pragma Import (for variables)
-
- Decimal types
- Decimal formal types
- Instantiations of decimal types
-
- Range checks on floating point types
-
- package Decimal
- package Direct_IO
- package Sequential_IO
- package Ada.Dynamic_Priorities
- package Ada.Streams
- package Interfaces.Fortran
- package Calendar
-
- All the wide string packages are now complete
-
- Note that all specs of Ada.xxx units are updated to match the latest
- Ada 9X spec (RM 5.7 plus a few changes made at the latest WG9 meeting).
- Probably the most notable change for users is that the names Status and
- Set_Status in Ada.Command.Line have been changed to Exit_Status and
- Set_Exit_Status. Also Ada.Strings.Constants is removed and is now a child
- package of Ada.Strings.Maps, i.e. it is now Ada.Strings.Maps.Constants
- and is found in a-stmaco.ads.
-
- limited conformance checking
-
- update of gnatchop with -s option (see gnatinfo.txt for details)
- Updated documentation in gnatinfo.txt (for gnatgf, gnatchop, gnatbl)
-
- Delay Statements (on sparc-sunos, sgi and os/2 only)
- Timed Entry Calls (on sparc-sunos, sgi and os/2 only)
- Protected Objects (on sparc-sunos, sgi and os/2 only)
- Requeue - limited use (on sparc-sunos, sgi and os/2 only)
-
- Derived types from subtypes
-
- Fixed-point handling, including decimal and ordinary fixed-point
- handling, is now complete.
-
- =======================================================================
-
- Status of Features
-
- The parser is a full Ada9X parser, which implements the Ada 9X language
- as defined by version 5.7 of the Draft International Standard. Semantic
- analysis and code generation are in constant evolution.
-
- ============================================================================
- = All of Ada 83 is implemented EXCEPT the following unimplemented features =
- ============================================================================
-
- The Constrained attribute
-
- Derived types from private types
-
- The following language-defined checks are not implemented:
-
- Discriminant Check
- Elaboration Check
- Length Check
- Range Check on the elaboration of a subtype_indication
-
- limited Conformance checking
-
- Language-Defined Pragmas
- Pack for arrays
-
- Record Layout
- Record Representation Clauses
-
- Shared Variables
-
- Input-Output for Integer for type Long_Long_Integer.
- (only Put currently supported for Long_Long_Integer not Get)
-
- ==================================================
- = All of Ada 9X implemented except the following =
- ==================================================
-
- CORE
-
- Aggregates for tagged types
-
- User-defined Initialize/Adjust/Finalize in complex cases:
- records or arrays containing controlled components
- functions returning controlled objects
-
- Protected entry families
- Condition protected entry calls
- Requeue without abort
- Requeue Statement involving task entries
-
- No range checking on modular types
-
- Input-Output for Modular Types
- (Only Put is supported currently, Get not yet supported)
-
- Input-Output for Decimal Types
- Input-Output for Wide Text
-
- Objects of type with unknown discriminants
-
- Unimplemented subprograms in package Ada.Text_IO
- Flush
- Look_Ahead
- Get_Immediate
-
- Accessibility checks
-
- Stream-Oriented Attributes of Specific Types
- Stream-Oriented Attributes of Class-Wide Types
-
- ANNEX A. PREDEFINED LANGUAGE ENVIRONMENT
-
- Ada.Exceptions
- Ada.Interrupts
- Ada.Streams.Stream_IO
- Ada.Wide_Text_IO
- Ada.Wide_Text_IO.Complex_IO
-
- ANNEX B. INTERFACING TO OTHER LANGUAGES
-
- The body of Interfaces.COBOL is not yet implemented
-
- ANNEX C. SYSTEMS PROGRAMMING
-
- Machine code insertions or intrinsic subprograms
- Interrupt support
- The body of packag Interrupts is not implemented
- Preelaboration requirements are not fully met
- Shared Variable Control is not fully implemented
-
- ANNEX D. REAL-TIME SYSTEMS
-
- Tasking restrictions
- Synchronous task control
- Asynchronous task control (optional in any case)
-
- ANNEX E. DISTRIBUTED SYSTEMS
-
- The distribution annex is under active development. Stub generation
- is not yet implemented, and there is no configuration control program.
- All pragmas are fully implemented.
-
- ANNEX F. INFORMATION SYSTEMS
-
- Machine_Radix attribute definition clause
- Ada.Text_IO.Editing
- Ada.Wide_Text_IO.Editing
-
- ANNEX G. NUMERICS
-
- Accuracy requirements for floating-point and complex not fully met
-
- ANNEX H. SAFETY AND SECURITY
-
- pragma Normalize_Scalars
- pragma Reviewable
- pragma Inspection_Point
- Safety and security restrictions
-
- ANNEX I. OBSOLESCENT FEATURES
-
- The constrained attribute
- Interrupt entries
-
- ANNEX J. LANGUAGE-DEFINED ATTRIBUTES
-
- Adjacent
- Alignment
- Bit_Order
- Body_Version
- Caller
- Ceiling
- Compose
- Constrained
- Copy_Sign
- Definite
- Exponent
- External_Tag
- Floor
- Fraction
- Identity
- Input
- Leading_Part,
- Max_Size_In_Storage_Elements
- Machine
- Model
- Output
- Pred for fixed-point types
- Pred for floating-point types
- Read
- Remainder
- Rounding
- Scaling
- Storage_Pool,
- Succ for fixed-point types
- Succ for floating-point types
- Truncation
- Unbiased_Rounding
- Valid
- Version
- Write
-
- ANNEX K. LANGUAGE DEFINED PRAGMAS
-
- Atomic
- Atomic_Components
- Attach_Handler
- Controlled
- Discard_Names
- Export
- Inspection_Point
- Interrupt_Handler
- Linker_Options
- Locking_Policy
- Memory_Size
- Normalize_Scalars
- Queuing_Policy
- Restrictions
- Reviewable
- Shared
- Task_Dispatching_Policy
- Volatile_Components
-